<?php

namespace app\admin\controller;

use app\admin\library\Auth;
use app\common\controller\Backend;

/**
 * 留言管理
 *
 * @icon fa fa-circle-o
 */
class MessageBoard extends Backend {

	/**
	 * MessageBoard模型对象
	 * @var \app\admin\model\MessageBoard
	 */
	protected $model = null;

	public function _initialize() {
		parent::_initialize();
		$this->model = new \app\admin\model\MessageBoard;

	}

	public function import() {
		parent::import();
	}

	/**
	 * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
	 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
	 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
	 */

	/**
	 * 查看
	 */
	public function index() {
		$auth = Auth::instance();
		$auth_affiliated_center_id = db('admin')->where('id', $auth->id)->value('affiliated_center_id');
		$auth_affiliated_center_arr = db('area')->where('pid', 0)->column('id');
		$auth_affiliated_center_arr[] = 0;
		if ($auth_affiliated_center_id > 0) {
			$auth_affiliated_center_arr = explode(',', $auth_affiliated_center_id);
		}

		//当前是否为关联查询
		$this->relationSearch = true;
		//设置过滤方法
		$this->request->filter(['strip_tags', 'trim']);
		if ($this->request->isAjax()) {
			//如果发送的来源是Selectpage，则转发到Selectpage
			if ($this->request->request('keyField')) {
				return $this->selectpage();
			}
			list($where, $sort, $order, $offset, $limit) = $this->buildparams();

			$list = $this->model
				->with(['user'])
				->where($where)
				->where(['affiliated_center_id' => ['in', $auth_affiliated_center_arr]])
				->order($sort, $order)
				->paginate($limit);
			foreach ($list as $row) {

				$row->getRelation('user')->visible(['nickname', 'avatar']);
			}

			$result = array("total" => $list->total(), "rows" => $list->items());

			return json($result);
		}
		return $this->view->fetch();
	}
	/**
	 * 查看
	 */
	public function user_list($ids = null) {
        $this->assignconfig("ids", $ids);
		$auth = Auth::instance();
		$auth_affiliated_center_id = db('admin')->where('id', $auth->id)->value('affiliated_center_id');
		$auth_affiliated_center_arr = db('area')->where('pid', 0)->column('id');
		$auth_affiliated_center_arr[] = 0;
		if ($auth_affiliated_center_id > 0) {
			$auth_affiliated_center_arr = explode(',', $auth_affiliated_center_id);
		}

		//当前是否为关联查询
		$this->relationSearch = true;
		//设置过滤方法
		$this->request->filter(['strip_tags', 'trim']);
		if ($this->request->isAjax()) {
			//如果发送的来源是Selectpage，则转发到Selectpage
			if ($this->request->request('keyField')) {
				return $this->selectpage();
			}
			list($where, $sort, $order, $offset, $limit) = $this->buildparams();

			$list = $this->model
				->with(['user'])
				->where($where)
				->where('user_id', '=', $ids)
				->where(['affiliated_center_id' => ['in', $auth_affiliated_center_arr]])
				->order($sort, $order)
				->paginate($limit);

			$result = array("total" => $list->total(), "rows" => $list->items());

			return json($result);
		}
		return $this->view->fetch();
	}
}
